package com.fr.lintcode;

import org.junit.Test;

/**
*作者：furong
*日期：2016年12月26日
*时间：下午9:30:55
*/
public class Q189 {
    /**    
     * @param A: an array of integers
     * @return: an integer
     */
    public int firstMissingPositive(int[] A) {
        if (A == null || A.length <= 0) {
            return 1;
        }
        int length = A.length;
        boolean miss[] = new boolean[length + 1];
        for (int a : A) {
            if (a > 0 && a <= length) {
                miss[a] = true;
            }
        }
        for (int i = 1; i <= length; i++) {
            if (!miss[i]) {
                return i;
            }
        }
        return length + 1;
    }

    @Test
    public void testA() {
        int[] A = {};
        System.out.println(firstMissingPositive(A));
    }
}
